#ifndef PERSONSTAFF_H
#define PERSONSTAFF_H

#include <QList>
#include "person.h"

class PersonStaff : public Person
{
public:
    PersonStaff();
    PersonStaff(const QString staffID, const QString staffName, const QString gender,
            const QString rechargeTimes, const QString rechargeAmount, const QString saleQuantity,
                 const QString totalSales, const QString cost, const QString profit)
        :Person(staffID, staffName, gender)
    {
        m_rechargeTimes = rechargeTimes;
        m_rechargeAmount = rechargeAmount;
        m_saleQuantity = saleQuantity;
        m_totalSales = totalSales;
        m_cost = cost;
        m_profit = profit;
    }

    PersonStaff & operator =(const PersonStaff &other)
    {
        if (this == &other)
            return *this;
        Person::operator =(other);
        m_rechargeTimes = other.m_rechargeTimes;
        m_rechargeAmount = other.m_rechargeAmount;
        m_saleQuantity = other.m_saleQuantity;
        m_totalSales = other.m_totalSales;
        m_cost = other.m_cost;
        m_profit = other.m_profit;
        return *this;
    }

    QString get_rechargeTimes() const {return m_rechargeTimes;}
    QString get_rechargeAmount() const {return m_rechargeAmount;}
    QString get_saleQuantity() const {return m_saleQuantity;}
    QString get_totalSales() const {return m_totalSales;}
    QString get_cost() const {return m_cost;}
    QString get_profit() const {return m_profit;}

private:
    QString m_rechargeTimes;
    QString m_rechargeAmount;
    QString m_saleQuantity;
    QString m_totalSales;
    QString m_cost;
    QString m_profit;
};

typedef QList <PersonStaff> staffList;

#endif // PERSONSTAFF_H
